import CryptoJS from 'crypto-js'

// 默认的 KEY 与 iv 如果没有给,可自行设定，但必须16位
const KEY = CryptoJS.enc.Utf8.parse("dzst12345678zjyj");
const IV = CryptoJS.enc.Utf8.parse('dzst12345678zjyj');
/**
 * 加密方法
 * @param word
 * @returns {string}
 */
export function encrypt(word) {
	let srcs = CryptoJS.enc.Utf8.parse(word);
	let encrypted = CryptoJS.AES.encrypt(srcs, KEY, {
		iv: IV,
		mode: CryptoJS.mode.CBC,
		padding: CryptoJS.pad.Pkcs7
	})
	return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
}

export function decrypt(word) {
	let base64 = CryptoJS.enc.Base64.parse(word);
	let srcs = CryptoJS.enc.Base64.stringify(base64);
	const decrypt = CryptoJS.AES.decrypt(srcs, KEY, {
		iv: IV,
		mode: CryptoJS.mode.CBC,
		padding: CryptoJS.pad.Pkcs7
	});
	const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
	return decryptedStr;
}